package ig.metrica.ui;

import java.util.ArrayList;

import javax.swing.table.AbstractTableModel;

public abstract class ModeloTablaBusquedaSevinpro extends AbstractTableModel {

	protected String[] titulos;
	protected ArrayList datos;
	
	public ModeloTablaBusquedaSevinpro(String[] titulos, ArrayList datos){
		this.titulos = titulos;
		this.datos = datos;
	}

	public abstract Object[] getLLaveVO(int fila);
	
	public void setDatos(ArrayList datos){
		this.datos = datos;
		fireTableDataChanged();
	}
	
	public String getColumnName(int col){
		return titulos[col];
	}
	
	public Class getColumnClass(int col){
		Object fila = datos.get(0);
		return (((Object[])fila)[col]).getClass();
	}
	
	public int getColumnCount(){
		return titulos.length;
	}
	
	public int getRowCount(){
		return datos.size();
	}
	
	public boolean isCellEditable(int row, int col){
		return false;
	}
	
	public void setValueAt(Object value, int row, int col){		
	}
	
	public Object getValueAt(int row, int col){
		if (datos!=null){
			Object fila = datos.get(row);
			return ((Object[])fila)[col];
		}
		return null;
	}
	
}
